草庐IT

c++ - ofstream 指针的 vector

全部标签

c - 在 Windows 的 C/C++ 中打开 com 端口时将 HANDLE 作为参数传递

所以我有如下内容:在我的main.c中HANDLE*hCom;success=openport(hCom);ReadFile(hCom......)//ThisProducesGarbledResultsopenport()函数:intopenport(HANDLE*hCom){hCom=CreateFile(......)ReadFile(hCom......)//ThisProducesGoodResultsreturn0;}当我在我的openport()函数中读取命令时,一切正常,但如果我在我的main.c中使用hCom,我会得到垃圾。我的问题是,我做错了什么/遗漏了什么?如有任

检查(作为普通用户)管理进程是否正在运行(C,Windows)

我正在尝试检查从服务启动的进程是否正在运行。问题是,我们将我们的应用程序从WindowsXP迁移到Windows7。此应用程序的一部分是服务,它会启动一些进程。另一部分是对话应用程序。此对话框应用程序尝试识别来自服务的进程是否正在运行。进程的pids存储在共享内存中,因此我可以使用WinApi中的OpenProcess()获取进程句柄,这适用于WindowsXP。如果我尝试在Windows7上执行此操作,该函数会报错-访问被拒绝。我想,我知道,为什么会这样(Windows7中新的0级隔离),但我需要找到一些解决方法。我的问题是是否可以对创建的进程设置访问权限以及如何设置(请给我一些示例

c - 使用 mingw 的 gcc,SDL : "undefined reference to ` SDL_Init'"What does the error message mean and how do I resolve it?

所以我正在尝试编译一个基本的sdl程序。我遇到了多个不同的错误,我已经解决了无法找到相关库的问题。这个错误但是我不知道如何解决。错误的realoc错误尤其让我担心,尽管我认为一旦我弄清楚如何定义所涉及的特定函数,它就会消失。所以Windows7,64位使用来自mingw的gcc.exe我从https://www.libsdl.org/download-2.0.php抓取了SDL2-devel-2.0.3-mingw.tar.gz我有一个自己制作的compile.bat文件。D:"D:\MinGW\bin\gcc.exe"sdlproto.c-osdlproto.exe-ISDL2-2.

c++ - 确保 Windows 正确初始化指向导入函数的函数指针所需的条件是什么?

导入库的实现方式——在here中有描述。—令我感到惊讶的是,指向导入函数的函数指针从未被初始化。据说——来自ahighlyacclaimedarticle—这些函数指针以某种方式被视为IAT中的一个条目,以便Windows及时适本地初始化它们。这些看起来像普通函数指针的函数指针有什么特别之处,使得编译器将它们视为IAT中的一个条目? 最佳答案 C++编译器可以通过两种方式实现在C++代码中声明的函数指针,这些函数指针使用指向导入函数的指针进行初始化。对于C++编译器,最简单的方法是用导入库中stub函数的地址初始化指针。或者,它可以

c - 如何正确使用 ExAllocatePoolWithTag 使其不返回 STATUS_INSUFFICIENT_RESOURCES?

我正在为IO过滤器驱动程序编写内核模式测试。当我运行我的测试时,它们都通过了,但是如果我连续运行它们3次,测试就会开始失败。我将问题缩小到ExAllocatePoolWithTag一段时间后开始返回STATUS_INSUFFICIENT_RESOURCES。为了重现这个问题我写了一个专门的测试staticvoid__stdcallTestFoo_StressLoad(){inti;for(i=0;i我的使用模式是:分配内存(ExAllocatePoolWithTag)执行单个测试释放内存(ExFreePoolWithTag)我的问题是:如何正确使用ExAllocatePoolWithT

c++ - VBA 64 位 Excel 不将指针传递给 DLL 函数 (C++)

我有一个在Excel64位上运行的VBA程序调用一些DLL函数(C++)。问题是(显然)它不能将指针传递给C++程序。该程序适用于Excel32位。操作系统是Windows8。对于Windows7,32位和64位版本的Excel都运行良好。C++:doubletest(long*v,longi){if(v==NULL)return-88;elsereturn*((long*)v);}VBA:PrivateDeclarePtrSafeFunctionhamid_testLib"...\CVode.dll"(ByValvAsLongPtr,ByValiAsLong)AsDoubleDimx

python - Cython 包装器使用 cl.exe (windows) 将 .c 文件编译为 .pyd

目录结构Cextended_API_504/lib/Cextended.dllCextended.liblibcextended.asrc/Cextended.hCextendedEx.cCextendedEx.hexample/Demo.ccompileDemo.batcompileDemo.shCextendedPy.pyxcompile.batcompile.shCextendedPy.pyxcdefexternfrom"Cextended.h":...cdefexternfrom"CextendedEx.h":...cdefclasswrapper:...Cextended_A

c++ - 使用统计 API 获取不正确的文件修改时间

我在获取文件的修改时间时看到一个奇怪的行为。我们一直在打电话_stat64在我们的项目中获取文件修改的方法如下。intmy_win_stat(constchar*path,struct_stati64*buf){if(_stati64(path,buf)==0){std::coutst_mtime当我使用epochconvertor转换st_mtime变量返回的纪元时间时,它显示比我系统上设置的当前时间提前2:30小时。当我从不同的测试项目调用相同的API时,我看到了正确的mtime(即根据我的系统显示的文件的mtime)。if(_stat64("D:\\engine_cost.frm

c# - 使用 VS 2010 调试导入的 dll

我在尝试从C#代码调用WinAPI函数时遇到问题。我有很多导入,其中很多工作正常,但其中一些没有,并导致意外中断主程序,没有任何消息、异常类型,什么都没有,只是掉下所有窗口并退出。我在代码中有两种方法:通过我开发的库,其中有更多的winapi调用,我懒得编写特定结构、指针等代码,并直接从user32.dll导入,如下所示:[DllImport(@"tradeInterop.dll")]publicstaticexternvoidChooseInstrumentByMouse(UInt32hwnd,intbaseX,intbaseY,intidx,int_isDown);[DllImpo

c - 如何在 C 中将 IOCTL 发送到 Windows 上的所有驱动程序

有人可以向我提供示例C代码,其中列出了我可以使用Createfile()打开的所有设备名称吗?我总是收到错误代码3:路径不存在不起作用的示例代码:#define_CRT_SECURE_NO_WARNINGS#include#include#include#include#include#include#include#include#include#include#include#pragmacomment(lib,"Setupapi.lib")intmain(void){HDEVINFOdeviceInfoList;deviceInfoList=SetupDiGetClassDevs